{
 "metadata": {
  "name": "",
  "signature": "sha256:93d7c148e50befd2ca68bc50d6ae13a85ba1beaac51a975925c995450fc2a02a"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "# Optimal parade route\n",
      "\n",
      "# Topic references\n",
      "- [Iterated weighted $\\ell_1$ heuristic](http://stanford.edu/class/ee364b/lectures/l1_ext_slides.pdf)\n",
      "\n",
      "# Problem statement\n",
      "\n",
      "In this notebook, we'll tackle the problem of trying to protect a parade route by placing a limited number of guards.\n",
      "\n",
      "The parade route is discritized into $m$ points. There are $n$ possible guard locations with associated decision variable $x \\in \n",
      "\\lbrace 0,1\\rbrace^n$, where $x_i = 1$ if and only if a guard is placed at location $i$. Associated with guard location $i$ is a *coverage vector* $a_i \\in \\mathbf{R}^m$, which describes how well a guard placed at location $i$ would 'cover' each point in the parade route. We will assume that guard coverage is additive, so that the vector describing the total coverage of every edge is given by $Ax$, where $A \\in \\mathbf{R}^{m \\times n}$ has $a_i$ as its $i$th column.\n",
      "\n",
      "The parade route is only as secure as its least well-covered point. Our goal is to place $k$ guards to maximize the minimum coverage over the points in the route.\n",
      "\n",
      "# Optimization formulation\n",
      "\n",
      "We can formulate this as the optimization problem\n",
      "\n",
      "\\\\[\n",
      "\\begin{array}{ll}\n",
      "  \\mbox{maximize} & t \\\\\n",
      "  \\mbox{subject to} & t \\leq Ax\\\\\n",
      "  & x \\in \\lbrace 0,1 \\rbrace^n \\\\\n",
      "  & \\mathbf{1}^Tx = k.\n",
      "\\end{array}\n",
      "\\\\]\n",
      "\n",
      "This problem is nonconvex and, in general, NP-hard due to the Boolean decision variable.\n",
      "\n",
      "# Relaxation\n",
      "\n",
      "We can try to approach the problem with convex optimization by first forming the convex relaxation\n",
      "\n",
      "\\\\[\n",
      "\\begin{array}{ll}\n",
      "  \\mbox{maximize} & t \\\\\n",
      "  \\mbox{subject to} & t \\leq Ax\\\\\n",
      "  & 0 \\leq x \\leq 1 \\\\\n",
      "  & \\mathbf{1}^Tx = k,\n",
      "\\end{array}\n",
      "\\\\]\n",
      "by constraining $x \\in [0,1]^n$.\n",
      "\n",
      "In general, the solution to this problem, $x^\\star$, will have fractional values. As we want a Boolean allocation, we can use an [iterated weighted $\\ell_1$ heuristic](http://stanford.edu/class/ee364b/lectures/l1_ext_slides.pdf) to try to recover a Boolean solution.\n",
      "\n",
      "# Iterated weighted $\\ell_1$ heuristic\n",
      "\n",
      "To try and recover a Boolean solution, we will solve a sequence of convex problems where we add a linear term $-w^Tx$ to the objective, picking the weight vector $w \\in \\mathbf{R}^n_+$ at each iteration to try and induce a sparse solution vector $x^\\star$. The details can be found in the [Stanford EE364B lecture notes](http://stanford.edu/class/ee364b/lectures/l1_ext_slides.pdf).\n",
      "\n",
      "The algorithm consists of initializing $w = 0$ and repeating the two steps\n",
      "\n",
      "1. \\\\[\n",
      "\\begin{array}{ll}\n",
      "  \\mbox{maximize} & t  - w^Tx\\\\\n",
      "  \\mbox{subject to} & t \\leq Ax\\\\\n",
      "  & 0 \\leq x \\leq 1 \\\\\n",
      "  & \\mathbf{1}^Tx = k,\n",
      "\\end{array}\n",
      "\\\\]\n",
      "2. Let $w_i = \\alpha/(\\tau + x_i) \\forall i$\n",
      "\n",
      "until we reach a Boolean solution. Here, $\\alpha$ and $\\tau$ are adjusted to promote a sparse solution. Typical choices would be $\\alpha = 1$ and $\\tau = 10^{-4}$.\n",
      "\n",
      "Intuitively, the weight vector $w$ is incentivizing elements of $x$ which were close to zero in the last iteration towards zero in the next iteration.\n",
      "\n",
      "# Example\n",
      "\n",
      "We create a parade route in the unit square $[0,1] \\times [0,1]$ by generating points along a connected sequence of line segments. Possible guard locations are a set of randomly placed points in the unit square. Guards' coverage of points in the parade route is a function of distance between the two points. We also add buildings in the unit square to obstruct the guards' view. The guard has no effect on a point if his line of sight is obstructed. We generate the $A$ matrix for this problem instance below."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import numpy as np\n",
      "import matplotlib.pyplot as plt\n",
      "import cvxpy as cvx\n",
      "\n",
      "def form_path(points,n):\n",
      "    x, y = [], []\n",
      "    pold = points[0]\n",
      "    for p in points[1:]:\n",
      "        x += list(np.linspace(pold[0],p[0],n))\n",
      "        y += list(np.linspace(pold[1],p[1],n))\n",
      "        pold = p\n",
      "\n",
      "    path = np.array([x,y]).T\n",
      "    return path\n",
      "\n",
      "def form_grid(k):\n",
      "    xs = list(np.linspace(0,1,k))\n",
      "    ys = list(np.linspace(0,1,k))\n",
      "\n",
      "    locations = []\n",
      "    for x in xs:\n",
      "        for y in ys:\n",
      "            locations.append(np.array((x,y)))\n",
      "    return np.array(locations).T\n",
      "\n",
      "def guard_sets(k,num,noise):\n",
      "    guard_set = []\n",
      "    grid = form_grid(k)\n",
      "    for i in range(num):\n",
      "        pert = noise*np.random.randn(*grid.shape)\n",
      "        guard_set.append( grid+pert )\n",
      "    return np.hstack(guard_set)\n",
      "\n",
      "def inRect(p,rect):\n",
      "    x,y,w,h = rect\n",
      "    return x <= p[0] and p[0] <= x + w and y <= p[1] and p[1] <= y + h\n",
      "\n",
      "def remove_guards(guards,buildings):\n",
      "    '''Remove guards inside buildings and outside unit square.'''\n",
      "    outside = []\n",
      "    for i, guard in enumerate(guards.T):\n",
      "        inside = False\n",
      "        for build in buildings:\n",
      "            if inRect(guard,build):\n",
      "                inside = True\n",
      "                break\n",
      "            if not inRect(guard,(0,0,1,1)):\n",
      "                inside = True\n",
      "                break\n",
      "        if not inside:\n",
      "            outside.append(i)\n",
      "    \n",
      "    return guards[:,outside]\n",
      "\n",
      "def intersect(p1,p2,xmin,xmax,ymin,ymax):\n",
      "    '''determine if a rectangle given by xy limits blocks the line of sight between p1 and p2'''\n",
      "\n",
      "    block = False\n",
      "    \n",
      "    # if either point inside block\n",
      "    for p in [p1,p1]:\n",
      "        if xmin <= p[0] and p[0] <= xmax and ymin <= p[1] and p[1] <= ymax:\n",
      "            return True\n",
      "    \n",
      "    # if the two points are equal at this stage, then they are outside the block\n",
      "    if p1[0] == p2[0] and p1[1] == p2[1]:\n",
      "        return False\n",
      "    \n",
      "    \n",
      "    if p2[0] != p1[0]:\n",
      "        for x in [xmin,xmax]:\n",
      "            alpha = (x-p1[0])/(p2[0] - p1[0])\n",
      "            y = p1[1] + alpha*(p2[1] - p1[1])\n",
      "\n",
      "            if 0 <= alpha and alpha <= 1 and ymin <= y and y <= ymax:\n",
      "                return True\n",
      "            \n",
      "    if p2[1] != p1[1]:\n",
      "        for y in [ymin,ymax]:\n",
      "            alpha = (y-p1[1])/(p2[1] - p1[1])\n",
      "            x = p1[0] + alpha*(p2[0] - p1[0])\n",
      "\n",
      "            if 0 <= alpha and alpha <= 1 and xmin <= x and x <= xmax:\n",
      "                return True\n",
      "        \n",
      "    return False\n",
      "\n",
      "def p_evade(x,y,r=.5,minval=.1):\n",
      "    d = np.linalg.norm(x-y)\n",
      "    if d > r:\n",
      "        return 1\n",
      "    return (1-minval)*d/r + minval\n",
      "\n",
      "def get_guard_effects(path, guards, buildings, evade_func):\n",
      "    guard_effects = []\n",
      "    for guard in guards.T:\n",
      "        guard_effect = []\n",
      "        for p in path:\n",
      "            prob = 1\n",
      "            if not np.any([intersect(p,guard,x,x+w,y,y+h) for x,y,w,h in buildings]):\n",
      "                prob = evade_func(p,guard)\n",
      "            guard_effect.append(prob)\n",
      "        guard_effects.append(guard_effect)\n",
      "    return np.array(guard_effects).T\n",
      "\n",
      "    locations = []\n",
      "    for x in xs:\n",
      "        for y in ys:\n",
      "            point = np.array((x,y))\n",
      "            detect_p = []\n",
      "            for r in path:\n",
      "                detect_p.append(p_evade(point,r,r=.5,m=0))\n",
      "            locations.append((point,np.array(detect_p)))"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 1
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "np.random.seed(0)\n",
      "\n",
      "buildings = [(.1,.1,.4,.1),\n",
      "             (.6,.1,.1,.4),\n",
      "             (.1,.3,.4,.1),\n",
      "             (.1,.5,.4,.1),\n",
      "             (.4,.7,.4,.1),\n",
      "             (.8,.1,.1,.3),\n",
      "             (.8,.5,.2,.1),\n",
      "             (.2,.7,.1,.3),\n",
      "             (.0,.7,.1,.1),\n",
      "             (.6,.9,.1,.1),\n",
      "             (.9,.7,.1,.2)]\n",
      "\n",
      "n = 10\n",
      "\n",
      "points = [(.05,0),(.05,.25),(.55,.25),(.55,.6),(.75,.6),(.75,.05),(.95,.05), (.95,.45),(.75,.45), (.75,.65),(.85,.65),\n",
      "          (.85,.85),(.35,.85),(.35,.65),(.15,.65),(.15,1)]\n",
      "\n",
      "path = form_path(points,n)\n",
      "\n",
      "g = guard_sets(12,4,.02)\n",
      "g = remove_guards(g,buildings)\n",
      "\n",
      "guard_effects = get_guard_effects(path, g, buildings, p_evade)\n",
      "\n",
      "A = 1 - np.log(guard_effects)\n",
      "\n",
      "fig = plt.figure(figsize=(10,10))\n",
      "ax = plt.subplot(111,aspect='equal')\n",
      "for x,y,w,h in buildings:\n",
      "    rect = plt.Rectangle((x,y),w,h,fc='y',alpha=.3)\n",
      "    ax.add_patch(rect)\n",
      "\n",
      "ax.plot(path[:,0],path[:,1],'o')\n",
      "\n",
      "ax.plot(g[0,:],g[1,:],'ro',alpha=.3)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 3,
       "text": [
        "[<matplotlib.lines.Line2D at 0x11220b390>]"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nMCYjkBz+EUbu2yKMnuHPgTELERERERERERERERERERERERERERERERERERERERERERERERERERER\nEZG6/h8Y/CDe2t7pUgAAAABJRU5ErkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0x1121dca50>"
       ]
      }
     ],
     "prompt_number": 3
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "We perform the iterative algorithm below. At each step, we plot the vector $x$, demonstrating that it becomes increasingly sparse at each iteration."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "num_guards = 12\n",
      "tau = 1e-2\n",
      "\n",
      "m,n = A.shape\n",
      "\n",
      "w = np.zeros(n)\n",
      "\n",
      "for i in range(3):\n",
      "    x = cvx.Variable(n)\n",
      "    t = cvx.Variable(1)\n",
      "\n",
      "    objective = cvx.Maximize(t - x.T*w)\n",
      "    constr = [0 <=x, x <= 1, t <= A*x,cvx.sum_entries(x) == num_guards]\n",
      "    cvx.Problem(objective, constr).solve(verbose=False)\n",
      "    x = np.array(x.value).flatten()\n",
      "    w = 2/(tau+np.abs(x))\n",
      "    fig = plt.figure(figsize=(5,5))\n",
      "    ax = fig.add_subplot(111)\n",
      "    ax.plot(x,'o')\n",
      "xsol = x"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n",
       "text": [
        "<matplotlib.figure.Figure at 0x112ad2390>"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n",
       "text": [
        "<matplotlib.figure.Figure at 0x112b63850>"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nSv4fEt964R6qcc0AAAAASUVORK5CYII=\n",
       "text": [
        "<matplotlib.figure.Figure at 0x112a47ed0>"
       ]
      }
     ],
     "prompt_number": 14
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Below, we plot the final Boolean allocation. The blue dots represent the parade route. The red dots represent the possible guard placement locations. The green dots show the actual guard placements. Yellow rectangles are buildings which obstruct the guards' view."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "fig = plt.figure(figsize=(10,10))\n",
      "ax = plt.subplot(111,aspect='equal')\n",
      "for x,y,w,h in buildings:\n",
      "    rect = plt.Rectangle((x,y),w,h,fc='y',alpha=.3)\n",
      "    ax.add_patch(rect)\n",
      "\n",
      "ax.plot(path[:,0],path[:,1],'o')\n",
      "\n",
      "ax.plot(g[0,:],g[1,:],'ro',alpha=.3)\n",
      "ax.plot(g[0,xsol > .5],g[1,xsol > .5],'go',markersize=20,alpha=.5)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 10,
       "text": [
        "[<matplotlib.lines.Line2D at 0x112a47610>]"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nr/8PhjiLapwCFL4AAAAASUVORK5CYII=\n",
       "text": [
        "<matplotlib.figure.Figure at 0x112ae4790>"
       ]
      }
     ],
     "prompt_number": 10
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [],
     "language": "python",
     "metadata": {},
     "outputs": []
    }
   ],
   "metadata": {}
  }
 ]
}